package com.ruoyi.system.service.module.event;

import com.ruoyi.common.core.mybatisplus.core.BaseService;
import com.ruoyi.system.domain.module.event.EventPlan;

import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Date;

/**
 * 巡检巡更、保洁等 执行计划Service接口
 *
 * @author ruoyi
 * @date 2023-12-25
 */
public interface IEventPlanService extends BaseService<EventPlan> {

	/**
	 *  添加计划任务
	 * @param eventPlan
	 * @return
	 */
	int addPlan(EventPlan eventPlan);

	int addUserWork(EventPlan eventPlan);
	/**
	 * 修改计划任务
	 * @param eventPlan
	 * @return
	 */
	int editPlan(EventPlan eventPlan);

	//计划频率为 日
	ArrayList<Date> selectDayType(LocalDate beginTime , LocalDate endTime);

	//计划频率为 周
	ArrayList<Date> selectWeekType(String weekDay, LocalDate beginTime , LocalDate endTime);

	//计划频率为 月
	ArrayList<Date> selectMonthType(String day, LocalDate beginTime , LocalDate endTime);

	//计划频率为 季
	ArrayList<Date> selectSeasonType(String day, LocalDate beginTime , LocalDate endTime);

	//计划频率为 半年
	ArrayList<Date> selectHalfYearType(String day, LocalDate beginTime , LocalDate endTime);

	//计划频率为 年
	ArrayList<Date> selectYearType(String day, LocalDate beginTime , LocalDate endTime);

}
